package com.mcc.app.energy.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.mcc.app.cache.domain.HisCol;
import com.mcc.app.energy.domain.EneryMediumStatistics;

/**
 * 能源介质能耗统计Service接口
 *
 * @author gxy
 * @date 2025-03-25
 */
public interface IEneryMediumStatisticsService {

    /**
     * 查询能源介质能耗统计
     *
     * @param id 能源介质能耗统计ID
     * @return 能源介质能耗统计
     */
    EneryMediumStatistics selectEneryMediumStatisticsById(Long id);

    /**
     * 查询能源介质能耗统计列表
     *
     * @param eneryMediumStatistics 能源介质能耗统计
     * @return 能源介质能耗统计集合
     */
    List<EneryMediumStatistics> selectEneryMediumStatisticsList(EneryMediumStatistics eneryMediumStatistics);

    /**
     * 新增能源介质能耗统计
     *
     * @param eneryMediumStatistics 能源介质能耗统计
     * @return 结果
     */
    int insertEneryMediumStatistics(EneryMediumStatistics eneryMediumStatistics);

    /**
     * 修改能源介质能耗统计
     *
     * @param eneryMediumStatistics 能源介质能耗统计
     * @return 结果
     */
    int updateEneryMediumStatistics(EneryMediumStatistics eneryMediumStatistics);

    /**
     * 删除能源介质能耗统计信息
     *
     * @param id 能源介质能耗统计ID
     * @return 结果
     */
    int deleteEneryMediumStatisticsById(Long id);

    /**
     * 批量删除能源介质能耗统计
     *
     * @param ids 需要删除的能源介质能耗统计ID
     * @return 结果
     */
    int deleteEneryMediumStatisticsByIds(Long[] ids);

    Map<String, Object> getRealTimeInfo();

    Map<String,List<HisCol>> getEnergyChartAll(Date beginTime, Date endTime);

    Map<String, Object> getEnergyHistory(Date beginTime,Date endTime,Integer timeType, Integer pageNum, Integer pageSize);
    String exportEnergyHistory(Date beginTime,Date endTime,Integer timeType);
}
